package dados;

import java.util.List;

import negocio.CorBean;
import negocio.UnidadeBean;

import org.hibernate.Query;
import org.hibernate.Session;

public class UnidadeDAO {
	public void armazenarUnidade(String unidade,String sigla) {
		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		session.beginTransaction();
		
		UnidadeBean u = new UnidadeBean();
		u.setDescricao(unidade);
		u.setSigla(sigla);		
		session.save(u);
		session.getTransaction().commit();
		}
	
	/*public void editarUnidade(CorBean c,String codigo,String descricao){
		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		session.beginTransaction();
		c.setCodigo(codigo);
		c.setDescricao(descricao);
		session.update(c);
		session.getTransaction().commit();	
	}*/
	public List listar(){
		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		session.beginTransaction();
		List result = session.createQuery("from UnidadeBean").list();
		session.getTransaction().commit();
		return  result;
	}
	
//	public List listar(int idUnidade){
//		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
//		session.beginTransaction();
//		Query q = session.createQuery("from UnidadeBean uni where uni.idunidade = :id");
//		q.setInteger("id", idUnidade);
//		List result = q.list();
//		session.getTransaction().commit();
//		return   result;
//	}
	public UnidadeBean consultarId(Integer idUnidade){
		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		session.beginTransaction();
		Query q = session.createQuery("from UnidadeBean uni where uni.idunidade = :id");
		q.setInteger("id", idUnidade);
		UnidadeBean result = (UnidadeBean) q.uniqueResult();
		session.getTransaction().commit();
		return   result;
	}
	public List listar(String descricaoUnidade){
		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		session.beginTransaction();
		Query q = session.createQuery("from UnidadeBean uni where uni.descricao = :des");
		q.setString("des", descricaoUnidade);
		List result = q.list();
		session.getTransaction().commit();
		return   result;
	}
	/*public void excluirCor(CorBean c){
		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
		session.beginTransaction();
		session.delete(c);
		session.getTransaction().commit();	
	}*/

}
